#!/usr/bin/env bash

# 设置 Redis 密码
REDIS_PASSWORD="secret"

# 设置 Redis 监听所有 IP 地址
BIND_ADDRESS="0.0.0.0"

# 禁用保护模式（如果已设置密码）
PROTECTED_MODE="no"

# Redis 配置文件路径
REDIS_CONF="/etc/redis/redis.conf"

# 检查 Redis 配置文件是否存在
if [ ! -f "$REDIS_CONF" ]; then
    echo "Redis 配置文件 $REDIS_CONF 不存在！"
    exit 1
fi

# 更新配置文件中的 requirepass 参数
echo "正在设置 Redis 密码为 $REDIS_PASSWORD..."
sudo sed -i "s/^# requirepass .*/requirepass $REDIS_PASSWORD/" $REDIS_CONF

# 更新配置文件
echo "正在设置 Redis 密码和远程访问..."
sudo sed -i "s/^# requirepass .*/requirepass $REDIS_PASSWORD/" $REDIS_CONF
sudo sed -i "s/^bind .*/bind $BIND_ADDRESS/" $REDIS_CONF
sudo sed -i "s/^protected-mode .*/protected-mode $PROTECTED_MODE/" $REDIS_CONF

# 重启 Redis 服务
sudo systemctl restart redis-server

# 输出结果
if [ $? -eq 0 ]; then
    echo "Redis 密码设置为 $REDIS_PASSWORD 并重启成功！"
else
    echo "Redis 重启失败，请检查错误日志。"
    exit 1
fi

